/*================================================================
*   Copyright (C) 2020 belonging to YangZhengQing. All rights reserved.
*   
*   文件名称：Bin2Dec.c
*   创 建 者：YangZhengQing
*   创建日期：2020年02月10日
*   描    述：利用栈的原理，将二进制转换为十进制
*
*================================================================*/

#include "global.h"


int main(int argc,char **argv)
{
	stack		s;
	ElemType	ch;
	int			i = 0;
	int			sum = 0;
	int			len = 0;

	/*开始初始化栈*/
	stack_init(&s);

	/*开始输入二进制数*/
	scanf("%c",&ch);
	while(ch != '#')
	{
		/*将二进制字符压入栈*/
		push(&s,ch);
		scanf("%c",&ch);
	}
	getchar();//除去键盘缓冲区中的回车

	/*开始出栈，并二进制装换为十进制*/
	len = current_size(s);
	for(i; i<len; i++)
	{
		pop(&s,&ch);//出栈
		printf("弹出ch=%c\n",ch);
		sum = sum + (ch-48) * pow(2,i);
	}

	/*输出转换后的数据*/
	printf("当前栈的大小:%d\n",len);
	printf("数据的大小:%d\n",sum);

	return 0;

}
